package com.itany.corejava.code04_循环结构;

import java.util.Scanner;

/**
 * @author: 石小俊
 * @date: 2023年03月03日 9:22
 * @version: 1.0
 */
public class Test17_打印菱形 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个奇数的行数:");
        int rows = sc.nextInt();

        // 将一个菱形拆分成两个等腰三角形进行打印
        // 打印菱形上半面的等腰三角形
        // 将最中间的一行算在上半面中,那么上半面共有rows/2+1行
        for (int i = 1; i <= rows / 2 + 1; i++) {
            // 打印空格
            for (int j = 1; j <= rows / 2 + 1 - i; j++) {
                System.out.print("  ");
            }

            // 打印星号
            for (int j = 1; j <= 2 * i - 1; j++) {
                System.out.print("* ");
            }
            // 整行打印完毕之后换行
            System.out.println();
        }


        // 打印菱形下半面的倒等腰三角形
        // 此时共有rows/2行
        for (int i = 1; i <= rows / 2; i++) {
            // 打印空格
            // 此时的第一行有1个空格
            // 第二行有2个空格
            // 第i行有i个空格
            for (int j = 1; j <= i; j++) {
                System.out.print("  ");
            }

            // 打印星号
            for (int j = 1; j <= 2 * (rows / 2 - i) + 1; j++){
                // 打印星号
                System.out.print("* ");
            }
            // 整行打印完毕之后换行
            System.out.println();
        }
    }
}
